package com.tedu.homework;

import java.util.Scanner;

/*
* int  类型是由32位 二进制的数字组成
* 让输入一个n 判断二进制数中的1有所少个
* */
public class TestIntSwicthBinary {
    public static void main(String[] args) {
        System.out.println("请输入一个数字");
        int n = new Scanner(System.in).nextInt();
        /*
        * 求一个数是二进制
        * 对这个数进行n/2 取余数 余数是1 进行计数
        * */
        //声明这个变量用来统计1的个数
        int count = 0;
        //这个变量用来表示二进制
        String result = "";
        do {
            if(n % 2 == 1) {
                //计数
                count ++;
                //拼接二进制
                result = 1 + result;
            }else{
                result = 0 + result;
            }
            n = n/2;

        }while ( n != 0);
        //打印1的个数
        System.out.println( count );
        //打印二进制
        System.out.println( result );
    }
}
